Wired Networking

DHCP

By default PES will connect to your network via an Ethernet cable and will try to acquire a DHCP lease. Most broadband routers are configured to use DHCP by default so you should just be able to plug in an Ethernet cable into your Raspberry Pi and your router to get PES connected to the Internet.

In the bottom left hand corner of the PES GUI you should see the IP address that has been assigned to your Raspberry Pi by your router.

Note

On the About screen under Settings if you see the IP address 127.0.0.1 then your Raspberry Pi has not been assigned an IP address.

Static IP

If you use static IP addresses on your network then please proceed as follows.

Step 1 - Access the command line

Connect a keyboard and Ethernet cable to your Raspberry Pi and exit the PES GUI to access the command line.

Hint

Pressing the ESC key will always exit PES to the command line regardless of which screen you are viewing.

2 - Stop eth0 interface

We must stop the Ethernet interface before we can configure it:

sudo ip link set down eth0

Step 3 - Create sample configuration

Now create a network profile for eth0:

cd /etc/netctl
sudo install -m640 examples/ethernet-static eth0

Step 4 - Apply your network settings

Now you need to edit /etc/netctl/eth0 to include your static IP settings.

sudo nano /etc/netcl/eth0

If you have not used nano before, use the arrow keys on your keyboard to move between lines.

You should be presented with the following:

Description='A basic static ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.1.23/24' '192.168.1.87/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.1.1'
DNS=('192.168.1.1')

## For IPv6 autoconfiguration
#IP6=stateless

## For IPv6 static address configuration
#IP6=static
#Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#Routes6=('abcd::1234')
#Gateway6='1234:0:123::abcd'

For most people you should only have to modify the values for Address, Gateway and DNS.

The Address parameter must be specified in CIDR format. This format allows the subnet mask to be inferred as well as the IP address. For example, if your subnet mask is 255.255.255.0 and your static IP address is 192.168.0.9 then you would set the Address parameter like so ('192.168.0.9/24')

Here is a completed network profile for my network for example using a static IP address:

Description='A basic static ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.0.9/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.0.1'
DNS=('8.8.8.8', '8.8.8.4')

## For IPv6 autoconfiguration
#IP6=stateless

## For IPv6 static address configuration
#IP6=static
#Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#Routes6=('abcd::1234')
#Gateway6='1234:0:123::abcd'

Note

  • The static IP address for my Raspberry Pi is 192.168.0.9
  • The subnet mask is 255.255.255.0
  • The default gateway is my router: 192.168.0.1
  • The DNS parameter is set to use Google’s DNS servers

Now save the file and exit.

If you are using nano then press Ctrl + X followed by Y to save and exit the program.

Step 5 - Start the interface

Bring up the eth0 interface:

sudo netctl start eth0

Providing you have entered the correct settings for your network in the previous step your Raspberry Pi should now connect to the network.

You can verify that it has connected by using the ifconfig command, e.g.

[pi@pes netctl]$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.0.9  netmask 255.255.255.0  broadcast 192.168.0.255
inet6 fe80::ba27:ebff:fee6:fd37  prefixlen 64  scopeid 0x20<link>
ether b8:27:eb:e6:fd:37  txqueuelen 1000  (Ethernet)
RX packets 4697  bytes 310403 (303.1 KiB)
RX errors 0  dropped 2  overruns 0  frame 0
TX packets 1417  bytes 161822 (158.0 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

If your interface has not come up please try running sudo netctl status eth0 to see what errors occurred when bringing up the interface.

Step 6 - Enable interface at boot time

To make the interface start at boot time run the following command:

sudo netctl enable eth0

If at any point you want to disable the wired network adapter at boot time, then run:

sudo netctl disable eth0

Step 7 - Start PES

Now to start the PES GUI again run:

/home/pi/pes/bin/pes.sh

Or alternatively, reboot:

sudo reboot